package com.konsung.ksdc.common.network;

import com.google.gson.Gson;
import com.konsung.ksdc.common.utils.StringUtils;

import java.lang.reflect.Type;
import java.util.List;

/**
 * Created by Administrator on 2016/3/17 0017.
 */
public class ResponseBean {
    private String resultCode; //返回code
    private String entity; //bean实体类
    private String list; // list集合

    /**
     * 返回集合对象
     *
     * @param type 返回集合元素类型
     * @return list集合
     */
    public List getList(Type type) {
        if (StringUtils.isEmpty(this.list)) {
            return null;
        }

        Gson gson = new Gson();
        return gson.fromJson(this.list, type);
    }

    /**
     *
     * @param list 集合
     */
    public void setList(String list) {
        this.list = list;
    }

    /**
     * 返回实体对象
     *
     * @param clz 返回对象Class
     * @param <T> 返回对象泛型
     * @return 实体
     */
    public <T> T getEntity(Class<T> clz) {
        if (clz == String.class) {
            return (T) this.entity;
        }
        if (StringUtils.isEmpty(this.entity)) {
            return null;
        }

        Gson gson = new Gson();
        return gson.fromJson(this.entity, clz);
    }

    /**
     * 设置实体
     * @param entity 实体
     */
    public void setEntity(String entity) {
        this.entity = entity;
    }

    /**
     * 得到返回code
     * @return 返回的code
     */
    public String getResultCode() {
        return resultCode;
    }

    /**
     * 设置返回code
     * @param resultCode 结果code
     */
    public void setResultCode(String resultCode) {
        this.resultCode = resultCode;
    }
}
